
from Reg import *

import token_java



@RegLanguage(language="java", extension=['java'])
def java_language():
    return [
        "identifier_noname",
        "number_noname",
        "string_noname",
        "char_noname",
        "block_comment",
        "line_comment",

        "Keyword_abstract",
        "Keyword_boolean",
        "Keyword_break",
        "Keyword_byte",
        "Keyword_case",
        "Keyword_catch",
        "Keyword_char",
        "Keyword_class",
        "Keyword_continue",
        "Keyword_default",
        "Keyword_do",
        "Keyword_double",
        "Keyword_else",
        "Keyword_enum",
        "Keyword_extends",
        "Keyword_final",
        "Keyword_finally",
        "Keyword_float",
        "Keyword_for",
        "Keyword_if",
        "Keyword_implements",
        "Keyword_import",
        "Keyword_instanceof",
        "Keyword_int",
        "Keyword_interface",
        "Keyword_long",
        "Keyword_native",
        "Keyword_new",
        "Keyword_null",
        "Keyword_package",
        "Keyword_private",
        "Keyword_protected",
        "Keyword_public",
        "Keyword_return",
        "Keyword_short",
        "Keyword_static",
        "Keyword_strictfp",
        "Keyword_super",
        "Keyword_switch",
        "Keyword_synchronized",
        "Keyword_this",
        "Keyword_throw",
        "Keyword_throws",
        "Keyword_transient",
        "Keyword_try",
        "Keyword_void",
        "Keyword_volatile",
        "Keyword_while",

        "Symbol_operator_unsigned_right_shift",
        "Symbol_operator_left_shift_assign",
        "Symbol_operator_right_shift_assign",
        "Symbol_operator_arrow",
        "Symbol_operator_add_assign",
        "Symbol_operator_subtract_assign",
        "Symbol_operator_multiply_assign",
        "Symbol_operator_divide_assign",
        "Symbol_operator_modulus_assign",
        "Symbol_operator_bit_and_assign",
        "Symbol_operator_bit_exclusive_or_assign",
        "Symbol_operator_bit_inclusive_or_assign",
        "Symbol_operator_bit_left_shift",
        "Symbol_operator_bit_right_shift",
        "Symbol_operator_equal",
        "Symbol_operator_notequal",
        "Symbol_operator_ge",
        "Symbol_operator_le",
        "Symbol_operator_increment",
        "Symbol_operator_decrement",
        "Symbol_operator_and",
        "Symbol_operator_or",

        "Symbol_lparenthese",
        "Symbol_rparenthese",
        "Symbol_lbracket",
        "Symbol_rbracket",
        "Symbol_lbrace",
        "Symbol_rbrace",
        "Symbol_comma",
        "Symbol_dot",
        "Symbol_question",
        "Symbol_colon",
        "Symbol_semicolon",
        "Symbol_operator_assign",
        "Symbol_preprocess",

        "Symbol_operator_indirection",
        "Symbol_operator_addressof",
        "Symbol_operator_plus",
        "Symbol_operator_negation",
        "Symbol_operator_multiplication",
        "Symbol_operator_division",
        "Symbol_operator_modulus",
        "Symbol_operator_logical_negation",
        "Symbol_operator_greater",
        "Symbol_operator_less",
        "Symbol_operator_not",
        "Symbol_operator_bit_and",
        "Symbol_operator_bit_or",
        "Symbol_operator_bit_xor",
        "Symbol_operator_bit_complement",


        
    ]
